﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace GenerateDiagram
{
    public class IOHelper:IIOHelper
    {
        public string  Extention { get; set; }
        
        #region IIOHelper Members

        /// <summary>
        /// Đọc dữ liệu từ một file
        /// Ngày viết: 19/5/2012
        /// Người viết: Lê Quang Hoàng
        /// Email: lequanghoangctk32@gmail.com
        /// </summary>
        /// <param name="path">Đường dẫn của file cần đọc dữ liệu</param>
        /// <returns>Nội dung của file</returns>
        public   string ReadFile(string path)
        {
            if (File.Exists(path))
            {
                StreamReader reader = new StreamReader(path);
                string str= reader.ReadToEnd();
                reader.Close();
                reader.Dispose();
                return str;
            }
            return "";
        }

        /// <summary>
        /// Ghi dữ liệu xuống file
        /// Ngày viết: 19/5/2012
        /// Người viết: Lê Quang Hoàng
        /// Email: lequanghoangctk32@gmail.com
        /// </summary>
        /// <param name="data">Dữ liệu cần ghi xuống file</param>
        /// /// <param name="fileName">Tên file</param>
        /// <returns>True: Nếu ghi file thành công, ngược lại ghi file không thành công</returns>
        public bool WriteFile(string data, string fileName, bool append)
        {
            try
            {
                if (!File.Exists(fileName))
                {
                    var stream= File.Create(fileName);
                    stream.Close();
                }
                StreamWriter writer = new StreamWriter(fileName, append, Encoding.UTF8);
                writer.AutoFlush = true;
                
                writer.WriteLine(data);
                writer.Close();
                writer.Dispose();
                return true;
            }
            catch 
            {
                return false;
            }

        }

        #endregion
    }
}
